package line;

import convert.Transferable;
import io.netty.handler.codec.http.HttpRequest;

/**
 * Create Time: 2018年01月26日 14:38
 *
 * @author fin
 */
public interface LineRequest {

    // 获取会话
    LineSession getSession();

    // 获取远程地址
    String getRemoteAddr();

    // 获取远程端口
    Integer getRemotePort();

    byte[] getHeader();

    byte[] getBody();

    byte[] getOriginalPackage();

    <T> T getAttribute(String key,Class<T> clazz);

    // 获取协议数据包
    <T> T getBody(Class<T> clazz);

    //获取协议长度
    Integer getContentLength();

    Transferable getPackage();

    <T> T getPackge(Class<T> clazz);
}
